package com.free.ext.quartz.job;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.PersistJobDataAfterExecution;

import com.free.ext.quartz.tasker.ITasker;

/**
 * <p>
 * 功能概述: 
 * </p>
 * <p>
 * 功能详述: 
 * </p>
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class DisConcurrentQuartzJob implements Job
{

    /*========================================================================*
     *                         Public Fields (公共属性)                                                                
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)                                                                
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法) 
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)                                                                   
     *========================================================================*/

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException
    {
        ITasker tasker = (ITasker) context.getMergedJobDataMap().get("detail");
        tasker.execute();
    }

    /*========================================================================*
     *                         Private Methods (私有方法)                                                                   
     *========================================================================*/
}
